home *** CD-ROM | disk | FTP | other *** search
/ Amiga Inside! / Amiga FD Inside (1995)(Ultramax).iso / forumamiga / ausgabe09 / texte / cursor_v1.6 < prev    next >
Text File  |  1992-09-15  |  7KB  |  155 lines

  1.  
  2.   B  A  S  I  C  -  E  c  k  e     i m   F O R U M   A M I G A  -  Teil: 9-I
  3.   ==========================================================================
  4.  
  5.  
  6.         C U R S O R   V1.6 - oder: Was lange währt, wird endlich gut
  7.         ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  8.  
  9. Cursor ist, wie schon in früheren Ausgaben des FAs berichtet wurde (von Meik
  10. Woyke und mir) der ultimative FD-Basic-Compiler, der als Shareware vertrie-
  11. ben wird (20 DM Gebühr).
  12.  
  13. Seit der letzten von mir beschriebenen Version (V1.3) hat sich wieder einiges
  14. geändert, so werden jetzt fast alle Befehle unterstützt (am Ende dieses Tex-
  15. tes befindet sich die vollständige Liste), die compiliert lauffähig sein kön-
  16. nen (nicht lauffähig sind natürlich LIST, TRON, ...). Das Programm liegt wei-
  17. terhin als Programm mit "eingebautem" Editor als auch als CLI-Befehl vor.
  18.  
  19.  
  20. NEUERUNGEN
  21.  
  22. Es gibt zunächst einige neue Optionen und ein paar Änderungen an den alten.
  23. Als erstes möchte ich darauf eingehen, daß die CLI-Optionsangabe deutlich
  24. gekürzt worden ist, so mußte z.B. früher "Cursor -nowindow test.bas" einge-
  25. geben werden, wo jetzt "Cursor -w0 test.bas" eingegeben werden muß.
  26. Die - wie ich meine - wichtigste Neuerung ist die neue Option "STANDALONE"
  27. (im CLI: -s), wodurch die "basic.library" nicht mehr gebraucht wird, wenn
  28. das compilierte Programm abläuft, sondern im Programm eingebunden wird. Das
  29. vergrößert zwar das Programm, hat aber den Vorteil, daß immer die richtige
  30. Version der "basic.library" benutzt wird und man nicht immer die "basic.-
  31. library" im LIBS:-Verzeichnis haben muß.
  32. Eine weitere Neuerung ist die Option "LISTING" (im CLI: -l). Hier wird eine
  33. Liste der im Programm verwendeten Variablen ausgegeben, wobei auch angegeben
  34. wird, in welchem Unterprogramm die Variablen verwendet werden sowie die Zei-
  35. len. Die Liste wird in eine wählbare Datei geschrieben. Diese Option kann si-
  36. cherlich enorm hilfreich in der Sourcecode-Optimierung sein.
  37. Schließlich gibt es noch eine wichtige Neuerung bei den Befehlen: Wird eine
  38. LIBRARY-Funktion benutzt, wird die ".bmap" nur noch während der Übersetzung
  39. benötigt, und nicht mehr beim übersetzten Programm.
  40.  
  41.  
  42. UNTERSTÜTZTE BEFEHLE UND FUNKTIONEN
  43.  
  44. Allgemein gesagt, funktionieren alle kompilierbaren Befehle und Funktionen,
  45. ausgenommen der Objekt- (OBJECT, COLISSION, ...), Joystick- und Musik-Funk-
  46. tionen sowie ein paar sonstigen unwichtigen.
  47.  
  48. Ok, hier die Liste. Falls nicht anders angegeben, funktionieren die Befehle
  49. (fast) genauso wie im Interpreter.
  50.  
  51. ABS()               AREA (20 verschiedene Punkte können gesetzt werden)
  52. AREAFILL            ASC()               ATN()
  53. BEEP (Bildschirm blinkt nur auf, kein Ton)                  BREAK
  54. CALL                CDBL()              CHDIR               CHR$()
  55. CINT()
  56. CLEAR (eigentlich unnötig, da Cursor sowieso immer den größten nötigen Wert
  57.    nimmt)
  58. CLNG()              CLOSE               CLS                 COLOR
  59. COS()               CSNG()              CSRLIN              CVI()
  60. CVL()               CVS()               CVD()               DATA
  61. DATE$               DECLARE FUNCTION    DEF FN              DEFINT
  62. DEFLNG              DEFSNG              DEFDBL              DEFSTR
  63. DIM                 END                 END SUB (s. "SUB")  EOF()
  64. ERASE               ERL                 ERR                 ERROR
  65. EXIT SUB (s. "SUB") EXP()               FIELD               FILES
  66. FIX()               FOR
  67. FRE()
  68.    (FRE(-3) Gibt AvailMem(MEMF_LARGEST) zurück, wie es auch AmigaBASIC tut.
  69.     FRE(0)  Erzwingt eine Garbage-Collection (Aufräumen des Speichers für
  70.             Strings) und gibt die Größe des noch freien Stringspeichers zu-
  71.             rück)
  72. GET                 GOSUB               GOTO                HEX$()
  73. IF                  INKEY$              INPUT               INPUT$()
  74. INPUT #             INSTR               INT()               KILL
  75. LEFT$()             LEN()               LET
  76. LIBRARY (die ".bmap"-Dateien werden nur während der Übersetzung benötigt)
  77. LINE                LINE INPUT          LINE INPUT #        LOC()
  78. LOCATE              LOF()               LOG()               LPOS()
  79. LPRINT              LPRINT USING        LSET                MENU
  80. MENU()              MID$()              MKI$()              MKL$()
  81. MKS$()              MKD$()              MOUSE()             MOUSE
  82. NAME                NEXT                OCT$()              ON BREAK GOSUB
  83. ON ERROR GOTO       ON MENU GOSUB       ON MOUSE GOSUB
  84. ON TIMER ... GOSUB  ON ... GOSUB        ON ... GOTO         OPEN
  85. PAINT               PALETTE             PATTERN             PEEK
  86. PEEKL               PEEKW               POINT               POKE
  87. POKEL               POKEW               POS()               PRESET
  88. PRINT (oder ?)      PRINT USING         PRINT #             PRINT USING #
  89. PSET                PTAB                PUT                 RANDOMIZE
  90. READ                REM                 RESTORE             RESUME
  91. RETURN              RIGHT$()            RND()               RSET
  92. SADD()              SAY                 SCREEN              SCREEN CLOSE
  93. SCROLL              SGN()               SHARED              SIN()
  94. SLEEP               SPACE$()            SQR()               STR$()
  95. STRING$()
  96. SUB
  97.    (Parameter werden nicht wie (wie der Autor glaubt) bei AmigaBASIC mit Zei-
  98.     gern (call by reference) übergeben, sondern es werden die Werte übergeben
  99.     (call by value).
  100.     Anders als bei AmigaBASIC sind Rekursionen erlaubt, Werte lokaler Variab-
  101.     len bleiben nach dem Verlassen eines Unterprogramms allerdings nicht er-
  102.     halten.)
  103. SWAP                SYSTEM              TAN()               TIME$
  104. TIMER               TIMER()             TRANSLATE$()        UCASE$
  105. VAL                 VARPTR              WEND                WHILE
  106. WINDOW              WINDOW CLOSE        WINDOW OUTPUT       WINDOW()
  107. WRITE               WRITE #             °
  108.  
  109. außerdem möglich sind:
  110. =, <, >, <=, >=, <>, MOD, *, /, ^, +, -, \, NOT, AND, OR, XOR, EQV, IMP
  111.  
  112.  
  113. (NOCH) NICHT UNTERSTÜTZTE BEFEHLE UND FUNKTIONEN:
  114.  
  115. Diese Befehle sind in dieser Version noch nicht integriert, könnten aber in
  116. einer späteren Version evtl. integriert werden. Die Befehle, deren Integra-
  117. tion ich für unmöglich/schwachsinnig halte sind in spitzen Klammern.
  118.  
  119. CIRCLE              COLLISION           COLLISION()         LBOUND                     LIST (Nicht möglich)
  120. OBJECT...           ON COLLISION GOSUB  OPTION BASE         RUN                 
  121. SOUND               SPC()               STICK               <STOP>                
  122. STRIG()             TAB()               <TRON>              <TROFF>               
  123. UBOUND              WAVE                WIDTH               
  124.  
  125.  
  126. NICHT INTEGRIERBARE BEFEHLE UND FUNKTIONEN:
  127.  
  128. Diese Befehle können nicht integriert werden, weil sie nur im Basic-Interpre-
  129. ter sinnvoll sind.
  130.  
  131. CHAIN               COMMON              CONT                DELETE              
  132. LIST                LLIST               LOAD                MERGE               
  133. NEW                 SAVE
  134.  
  135.  
  136. So, ich glaube nun kann sich jeder sein eigenes Bild über den neuen "Cursor"
  137. machen - ich möchte aber abschließend noch meine eigene Wertung loswerden:
  138.  
  139.  
  140.  
  141. WERTUNG/ÜBERSICHT
  142.  
  143. Leistung  (50 %):  1-
  144. Bedienung (30 %):  1
  145. Eindruck  (20 %):  1-
  146.  
  147. Gesamt   (100 %):  1-
  148.  
  149. FD-Art:            Shareware, 20 DM
  150. Autor:             Jürgen Forster
  151. zu finden auf:     GPD-Disk 39
  152.  
  153. Natürlich ist diese Diskette über mich beziehbar (Preise s. die GPD-Anzeige)
  154.  
  155.